package com.ce.pms.occupation.model;

// Generated 2008-12-24 13:41:51 by Hibernate Tools 3.2.0.b9

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.hibernate.annotations.Cascade;

import com.ce.pms.house.model.HouseDomain;
import com.sitechasia.webx.core.model.IDomainObject;

/**
 * 实体名称:入伙身份状态 关联数据表:OM_IDENTITY_VALIDATE
 *
 * @author yandawei
 * @CreateDate:2008-12-24
 */
@Entity
@Table(name = "OM_IDENTITY_VALIDATE")
public class IdentityValidateDO implements IDomainObject {

	/**
	 * 主键
	 */
	@Id
	@GeneratedValue
	@Column(name = "IDENTITY_VALIDATE_ID", unique = true, nullable = false)
	private Long keyword;

	/**
	 * 委托代理人信息
	 */
	@ManyToOne(fetch = FetchType.LAZY,cascade=CascadeType.ALL)
	@JoinColumn(name = "CONSIGN_AGENT_ID")
	private ConsignAgentDO consignAgent;

	/**
	 * 房号
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "HOUSE_ID")
	private HouseDomain house;

	/**
	 * 办理入伙人的身份类型 001 : 表示业主;002 : 表示委托人
	 */
	@Column(name = "TRANSACT_JOIN_IDENTITY", nullable = false, length = 3)
	private String transactJoinIdentity;

	/**
	 * 入伙模式 001 以产权房办理入伙 002 以管理房办理入伙
	 */
	@Column(name = "JOIN_MODE", nullable = false, length = 3)
	private String joinMode;

	/**
	 * 以业主身份办理入伙操作的人的姓名 如果以业务身份办理入伙,该字段不能为空
	 */
	@Column(name = "CLIENT_NAME", length = 36)
	private String clientName;

	/**
	 * 入伙备注描述
	 */
	@Column(name = "DESCRIPTION", length = 200)
	private String description;


	/**
	 * 身份验证状态 1 ： 验证通过， 0：验证未通过
	 */
	@Column(name = "IDENTITY_STATE", length = 1)
	private String identityState;

	/**
	 * 预交费用状态 1 ： 已缴， 0：未缴
	 */
	@Column(name = "CHARGE_STATE", length = 1)
	private String chargeState;

	/**
	 * 文档收发状态 1 ： 已收发， 0：未收发
	 */
	@Column(name = "DOC_STATE", length = 1)
	private String docState;

	/**
	 * 验房情况 001 ：未验房;(身份验证通过，但还没验房) 002 ：整改中;(已验过房，但没通过，处于整改中) 003 ：验房通过;
	 */
	@Column(name = "INSPECT_RESULT", length = 3)
	private String inspectResult;

	/**
	 * 验房登记状态 1： 已验房登记， 0：未验房登记
	 */
	@Column(name = "INSPECT_CHECKIN_STATE", length = 1)
	private String inspectCheckinState;

	/**
	 * 物品移交状态(钥匙移交) 1： 已移交， 0：未移交
	 */
	@Column(name = "HANDOVER_STATE", length = 1)
	private String handoverState;

	/**
	 * 产权房或管理房的业主信息
	 */
	@OneToMany(mappedBy="identityValidateDO",cascade = {CascadeType.ALL})
	private Set<OccHouseClientInfoDO> clientInfos = new HashSet<OccHouseClientInfoDO>();
	/**
	 * 系统信息
	 */

	public IdentityValidateDO() {
	}

	public IdentityValidateDO(Long keyword) {
		this.keyword = keyword;
	}

	public ConsignAgentDO getConsignAgent() {
		return consignAgent;
	}

	public void setConsignAgent(ConsignAgentDO consignAgent) {
		this.consignAgent = consignAgent;
	}

	public String getTransactJoinIdentity() {
		return this.transactJoinIdentity;
	}

	public void setTransactJoinIdentity(String transactJoinIdentity) {
		this.transactJoinIdentity = transactJoinIdentity;
	}

	public String getJoinMode() {
		return this.joinMode;
	}

	public void setJoinMode(String joinMode) {
		this.joinMode = joinMode;
	}

	public String getClientName() {
		return this.clientName;
	}

	public void setClientName(String clientName) {
		this.clientName = clientName;
	}

	public String getDescription() {
		return this.description;
	}

	public void setDescription(String description) {
		this.description = description;
	}


	public String getIdentityState() {
		return this.identityState;
	}

	public void setIdentityState(String identityState) {
		this.identityState = identityState;
	}

	public String getChargeState() {
		return this.chargeState;
	}

	public void setChargeState(String chargeState) {
		this.chargeState = chargeState;
	}

	public String getDocState() {
		return this.docState;
	}

	public void setDocState(String docState) {
		this.docState = docState;
	}

	public String getInspectResult() {
		return this.inspectResult;
	}

	public void setInspectResult(String inspectResult) {
		this.inspectResult = inspectResult;
	}

	public String getInspectCheckinState() {
		return this.inspectCheckinState;
	}

	public void setInspectCheckinState(String inspectCheckinState) {
		this.inspectCheckinState = inspectCheckinState;
	}

	public String getHandoverState() {
		return this.handoverState;
	}

	public void setHandoverState(String handoverState) {
		this.handoverState = handoverState;
	}

	public HouseDomain getHouse() {
		return house;
	}

	public void setHouse(HouseDomain house) {
		this.house = house;
	}

	public Long getKeyword() {
		return keyword;
	}

	public void setKeyword(Long keyword) {
		this.keyword = keyword;
	}

	public Set<OccHouseClientInfoDO> getClientInfos() {
		return clientInfos;
	}

	public void setClientInfos(Set<OccHouseClientInfoDO> clientInfos) {
		this.clientInfos = clientInfos;
	}


}
